// 引入mqtt

const app = getApp()
const tcp=wx.createTCPSocket();
// 设置数组存时间
const Hour=[]
const Minute=[]
const Second=[]
for(let i=0;i<=23;i++){
  Hour.push(i)
}
for(let i=0;i<=60;i++){
  Minute.push(i)
}
for(let i=0;i<=60;i++){
  Second.push(i);
}
Page({

  /**
   * 页面的初始数据
   */
  data: {
    time: 0,
    option1: [
      { text: '红色', value: 0 },
      { text: '绿色', value: 1 },
     
      { text: '深蓝色', value: 2 },
      { text: '浅蓝色', value: 3 },
      { text: '玫瑰红', value: 4 },
      { text: '黄色', value: 5 },
      { text: '自然色', value: 6},
    ],
    value1: 4,//默认显示自然色,
    checked: false,
    
    timeData: {},
    ISshow:false,
   Hour,
   hourss:0,
   Minute,
   minutess:0,
   Second,
   secondss:0,
   value: [9999, 1, 1],
   state:true,
   radio:'',//当前默认选中的name，等待用户自己选择
   light:"",
   color:""//选择的颜色
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.connectTcp();
  },
  connectTcp(){
    tcp.connect({address: '192.168.43.180', port:8788})
    // 小程序接收server端发送的数据
    tcp.onMessage(function (res) {
      console.log('WebSocket连接已打开！')
    });
  },
  // 倒计时
  onChangeTime(e) {
    this.setData({
      timeData: e.detail,
    });
  },
  // 点击定时器
  SETtime(){
    this.setData({
      ISshow:true
    })
    
  },
  onClose(){
    this.setData({ ISshow: false });
    console.log("取消")
  },
  onChangeCheck(e){
    this.setData({
      radio:e.detail
    })
    console.log(e.detail);

  },
  ConfirmDialog(){
    if(this.data.radio==''){
      wx.showToast({
        title: '请选择开/关灯！',
        icon:'error'
      })
      return;
    }
    var temptime=this.data.hourss*60*60*1000+this.data.minutess*60*1000+this.data.secondss*1000;
    this.setData({
      time:temptime
    });
    if(this.data.radio=='1'){
 wx.showToast({
      title: '即将开灯',
      icon:'success'
    })
    tcp.write('ok'+Math.floor((this.data.time)/1000)+'\0\n');
    }
    else{
      wx.showToast({
        title: '即将关灯',
        icon:'success'
      })
      tcp.write('og'+Math.floor((this.data.time)/1000)+'\0\n');
    }
   console.log(Math.floor((this.data.time)/1000)+'\0\n');
    
  },
  // 选择了时间之后，改变data
  bindChange(e) {
    const val = e.detail.value
    this.setData({
      hourss: this.data.Hour[val[0]],
      minutess: this.data.Minute[val[1]],
      secondss: this.data.Second[val[2]],
      
    })
  },
//  暂停时间
Reset(){
  const countDown = this.selectComponent('.timecount');
  countDown.pause();
  tcp.write('os\n');
},
// 倒计时结束引发的事件
finished(){
  wx.showToast({
    title: '倒计时结束',
    icon:'none'
  })
  this.setData({
    checked:!this.data.checked
  })
},
//  拖动滑动条的时候
  onChange(event) {
    wx.showToast({
      icon: 'none',
      title: `当前值：${event.detail}`,
    });
    this.setData({
      light:event.detail
    })

    if(this.data.color==0){
      tcp.write('cr'+this.data.light+'\n');
    }else if(this.data.color==1){
      tcp.write('cg'+this.data.light+'\n');
    }else if(this.data.color==2){
      tcp.write('cb'+this.data.light+'\n');
    }else if(this.data.color==3){
      tcp.write('cq'+this.data.light+'\n');
    }else if(this.data.color==4){
      tcp.write('cm'+this.data.light+'\n');
    }else if(this.data.color==5){
      tcp.write('cy'+this.data.light+'\n');
    }else{
      tcp.write('ch'+this.data.light+'\n');
    }
  },
  // 灯光的开关switch改变
  onChangeopen({ detail }) {
    // 需要手动对 checked 状态进行更新
    this.setData({ checked: detail });
    console.log(detail);
    if(detail==false){
      tcp.write('cw\n');
       wx.showToast({
      title: '已关灯',
      icon:'success'
    })
    }else{
      tcp.write('ch\n');
      wx.showToast({
        title: '已开灯',
        icon:'success'
      })
    }
   
  },
  // 选择颜色
  PickChange(e){
    console.log(e.detail);
    this.setData({
      color:e.detail
    })

    if(e.detail==0){
      tcp.write('cr'+this.data.light+'\n');
    }else if(e.detail==1){
      tcp.write('cg'+this.data.light+'\n');
    }else if(e.detail==2){
      tcp.write('cb'+this.data.light+'\n');
    }else if(e.detail==3){
      tcp.write('cq'+this.data.light+'\n');
    }else if(e.detail==4){
      tcp.write('cm'+this.data.light+'\n');
    }else if(e.detail==5){
      tcp.write('cy'+this.data.light+'\n');
    }else{
      tcp.write('ch'+this.data.light+'\n');
    }
    
  },
//  连接mqtt
/*
connectMqtt(){
  var that=this;
  const options={
    connectTimeout:4000,
    clientId:'Project',
    port:8084,
    username:'459bc9a30d4256d5f0758f1be7cd8bc8',//唯一标识
    password:'25802580'//密码
  }
  client=mqtt.connect('wxs://t.yoyolife.fun/mqtt',options)
  client.on('connect',(e)=>{
    console.log('服务器连接成功');
    // 订阅设备
    client.subscribe('/iot/550/Project',{qos:0},function(err){
      if(!err){
        console.log("订阅成功！");
      }
    })
  })
  // 信息监听事件
  client.on('message',function(topic,message){
    console.log('收到'+message.toString())
  })
  client.publish('Project',"测试一下")
  client.on('reconnect',(error)=>{
    console.log("正在重新连接",error)
  })
  client.on('reconnect',(error)=>{
    console.log("连接失败",error)
  })
 
},
*/
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
/**  onShow: function () {
    
    client.on('connect',()=>{
      console.log("成功连接mqtt");
      client.subscribe('/mysmarcthome/pub',(err)=>{
        if(!err){
          console.log('成功订阅设备上行数据');
        }
      })
    })
    client.on('message',(topic,message)=>{
      console.log(topic);
      
      let dataform={};
      dataform=JSON.parse(message);
      console.log(dataform);//获取到的数据
      
    })
  }, */

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})